详解LBP特征与应用(人脸识别)
之前我已经写过一篇关于局部二值模式(LBP)文章,当时主要是介绍了一下局部二值模式的概念与其简单的尺度空间扩展,本文是上一篇文章基础上对局部二值模式的深化,涉及到局部二值模式的不变性介绍,包括光照不变性、尺度不变性与旋转不变性,只有具备了这些特性,局部二值模式得到特征数据才有可能用来做对象识别与检测,或者纹理识别等实际应用。
一:光照不变性
特征对整体光照具有特征不变性,对比度可以保持,LBP特征可以很好的应对整体光照干扰和局部微弱的干扰,但是当局部光线变化较大时LBP会严重失真。
其中C表示对比度。
二:尺度不变性
LBP的扩展模式可以在不同的尺度上面调整,产生不同的局部二值模式数据。图示如下:
其中P表示周围的像素点个数,R表示半径大小,这种情况下,对应黑点像素可能不是整数,要得到该点准确的像素值,必须对该点进行插值计算才能得到该点像素值,常见的插值方式为双线性插值或者立方插值。
三:旋转不变性
LBP还有另外一个变种是统一模式(Uniform Patterns)。其本质是基于旋转不变性特征和降维,将LBP的直方图表示从256降到59个BIN即可表示。统一模式的58个LBP表示如下(其中R=1,圆形)
除此以外的都被称为非统一模式,全部放到一个BIN里面即可,这样总数就是59个BIN。而在纹理匹配中,通过傅里叶变换到频域空间,可以得到旋转不变性特征,实现基于LBP的纹理匹配。
四:应用
OpenCV中已经实现了基于LBP特征的人脸检测与识别,运行结果如下图所示:
对应OpenCV代码如下:
OpenCV中使用LBP特征数据检测人脸比使用Haaris数据要快,原因在于LBP特征不会产生小数数据,避免了浮点数计算开销。
关注【OpenCV学堂】
长按或者扫码下面二维码即可关注
+OpenCV学习群 376281510
进群暗号:OpenCV